FYI (Note: The origin of this information may be internal or external to Novell. Novell makes every effort within its means to verify this information. However, the information provided in this document is FOR YOUR INFORMATION ONLY. Novell makes no explicit or implied claims to the validity of this information.) TITLE: DOS Memory Managers and NetWare Lite v1.X DOCUMENT ID#: FYI.P.6076 DATE: 04DEC92 PRODUCT: NetWare Lite PRODUCT VERSION: All versions SUPERSEDES: NA LITE FAX DOC #: 2660 SYMPTOM NA ISSUE/PROBLEM DOS Memory Managers and NetWare Lite v1.x Note: Information listed in this document is intended for use on 386 or 486 based computers. For information on other machines, please consult your DOS manual. This document is intended to aid the user in the basic steps of loading NetWare Lite items into upper memory. General Information This basic summary is necessary to understand how to create the best performing servers and clients with NetWare Lite. Random Access Memory (RAM) in 386 and 486 computers has a uniform structure. The first 640 KB of memory is known as conventional memory, the location where applications load. The next 384 KB of memory is known as upper memory, where system files and other files (such as mouse drivers or network drivers) can be loaded if memory management software is used. On machines with more than 1 MB of RAM, the first 64 KB of memory above 1 MB is known as the High Memory Area (HMA). NetWare Lite v1.0 has several files that may be loaded into upper memory. These files are normally loaded from the STARTNET.BAT file found in the NWLITE directory. These files are: LSL.COM, your network board driver (such as NE2000.COM), IPXODI A, SHARE (found in your DOS directory) and CLIENT.EXE. The proper syntax for loading these files into upper memory depends on which version of DOS and memory manager you choose to use. The following steps instruct you how to load NetWare Lite files into upper memory by using memory managers from DR DOS 6.0 and MS DOS 5.0. If you have any questions that are not answered in this document, please consult your DOS documentation. The memory manager, EMM386, will relocate software into upper memory. Without the use of the EMM386 manager, the only memory that can be used is conventional memory (the first 640 KB of memory). DR DOS 6.0 The memory manager included with DR DOS 6.0 is EMM386.SYS. To load drivers and programs into upper memory, several steps must be followed. Note: EMM386.SYS cannot be used with other memory managers. 1. The following is an example of a CONFIG.SYS file that is configured to allow access to upper memory (UMB) and HMA: HIDOS=ON DEVICE=C:\DRDOS\EMM386.SYS /F=AUTO /B=FFFF /R=AUTO /E=[START-END] HIDOS=ON In the CONFIG.SYS file, the HIDOS=ON line should be included. This allows the computer to put information into HMA if memory is available. EMM386.SYS [/F=AUTO] Performs an automatic search through upper memory for a free 64 KB window. This is the default. [/B=FFFF] Relocates the DR DOS kernel, freeing space in conventional memory for use by applications. By using the ffff location of memory, the kernel will be placed into HMA (if available). [/R=AUTO] Copies data and code from Read Only Memory (ROM), which is slow to run, into Random Access Memory (RAM), which is very fast. [/E=[START-END]] Excludes an area of upper memory from the area being checked for availability of use. This switch should be used if an item uses a specific memory location. For example: If your network board had a memory address setting of CC00 and you used the switch [/E=CC00-CFFF], then the EMM386.SYS driver would not allow any software to occupy the same area of memory. This is a solution to random errors (the machine lockup) that may occur if the network board driver is overwritten. 2. To load NetWare Lite required files into high memory in your STARTNET.BAT file, your syntax should be similar to the following: NetWare LITE v1.1 NetWare LITE v1.0 HILOAD LSL HILOAD LSL HILOAD NE2000 HILOAD NE2000 HILOAD IPXODI A HILOAD IPXODI A HILOAD SHARE HILOAD SHARE HILOAD SERVER SERVER HILOAD CLIENT HILOAD CLIENT Note: Server should not be loaded into high memory with v1.0 3. To examine where your items are loaded into high memory, type the following from the DOS prompt: MEM /A /P (/A shows all information. /P pauses at the end of every screen.) 4. From this screen you will be given several screens of information. To determine what is located in upper memory, be aware that the address A000:0000 is where conventional memory ends and upper memory begins and FFFF:0000 is where upper memory ends and the high memory area begins. For complete information on the MEM command, please refer to page 258-259 of the DR DOS 6.0 User's Guide or call the DRI Automated Fax system at 1-408-649-2344. The titles pertaining to memory management are the following: Document Title 1000 Master Index (A Complete Listing of all Files on the DRI Fax System.) 1300 DR DOS 6 Memory Management overview 1301 Basic Memory optimization 1302 Trouble shooting 1303 Using Third-party memory managers 1305 XMS-EMS memory pool 1306 Preventing DR DOS from loading into HMA 1307 The MEM /A Command 1308 Gate A20 and Printing Problems MS-DOS 5.0 The memory manager included with MS-DOS 5.0 is EMM386.EXE. To load drivers and programs into upper memory, several steps must be followed. In the CONFIG.SYS file, device drivers for HIMEM.SYS and EMM386.EXE must be included and be placed in a specific order. To ensure the proper setup, it is best to have the device line containing HIMEM.SYS at the beginning of the CONFIG.SYS file. The second line should contain the EMM386.EXE line, and the third line should contain a specification of where to load the DOS system files. For example: DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE /X=MMMM-NNNN NOEMS DOS=HIGH,UMB HIMEM.SYS Generally, the default specifications for HIMEM.SYS are sufficient for your system. The main exception is the /MACHINE:XXXX specification, where XXXX is your machine type. Please see page 611 in the MS-DOS 5.0 User's Guide for complete information. EMM386.EXE Switches included with EMM386.EXE that are most commonly used to increase system performance are the following: [X=[MMMM-NNNN]] The MMMM-NNNN denotes an address that EMM386.EXE will not be allowed to use. This is very useful for excluding the address of your network-board driver so it will not be overwritten by DOS. (If the board memory address is set at CC00, the switch would be X=CC00-CFFF.) [NOEMS] Allows access to upper memory and prevents access to expanded memory. It does allow access to extended memory. Other switches can be found in the MS-DOS 5.0 User's Guide on pages 605-609. DOS The HIGH switch allows DOS to relocate the system files into a location called the HMA (High Memory Area), freeing up more conventional memory space. The UMB (Upper Memory Block) switch is for linking conventional memory with upper memory. It is necessary to load drivers or devices into upper memory. Remember, to load any command high, the line must follow the three lines listed above. The command to load a device high in the CONFIG.SYS file is DEVICEHIGH. The command to load an item high in the AUTOEXEC.BAT file or any .BAT file is LH or LOADHIGH. To load the required NetWare Lite files into high memory in your STARTNET.BAT file, your syntax should be similar to the following: NetWare LITE v1.1 NetWare LITE v1.0 LH LSL LH LSL LH NE2000 LH NE2000 LH IPXODI A LH IPXODI A LH SHARE LH SHARE LH SERVER SERVER LH CLIENT LH CLIENT Note: Server should not be loaded into high memory with v1.0 To examine where your items are loaded into high memory, from the DOS prompt type the following: MEM /C |MORE (/C classifies programs by memory usage. It also displays conventional memory and upper memory in separate blocks to easily determine where programs are loaded; the |MORE command pauses at the end of every screen.) For further questions and concerns about loading software into upper memory, consult the MS-DOS 5.0 User's Guide. SOLUTION NA